package com.ytjj.qmyx.mall.model.response;

import com.ytjj.qmyx.mall.constants.IsActivityConstant;
import com.ytjj.qmyx.mall.model.PageButton;
import com.ytjj.qmyx.mall.model.Product;
import com.ytjj.qmyx.mall.model.ProductImg;
import com.ytjj.qmyx.mall.model.UsersFake;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

@Data
@Accessors(chain = true)
public class ProductExtResponse {

    /**
     * 主键
     *
     */
    private Integer id;

    /**
     * 下单按钮文案
     */
    private PageButton pageButton;

    /**
     * 商品名称
     *
     */
    private String productName;


    /**
     * 商品白图
     *
     */
    private String productImg;

    /**
     * 场景图
     *
     */
    private String sceneImg;

    /**
     * 默认价格
     *
     */
    private BigDecimal price;

    /**
     * 描述
     *
     */
    private String descr;

    /**
     * 长标题
     */
    private String longTitle;

    /**
     * 排序
     *
     */
    private Integer sort;

    /**
     * 原价
     *
     */
    private BigDecimal originalPrice;

    /**
     * 库存总量
     *
     */
    private Integer stock;

    /**
     * 好评率
     *
     */
    private Integer goodRatio;

    /**
     * 销量字段
     */
    private String volumeStr;

    /**
     * sku属性json列表
     *
     */
    private String attributeJson;

    /**
     * 规格列表
     */
    private Map<String,ProductSpecResponse> specMap;

    /**
     * 是否收藏标志
     */
    private Integer isCollect;

    /**
     * 图片列表
     */
    private Map<String, List<ProductImg>> imgMapList;

    /**
     * 活动标识1
     */
    private BigDecimal activityMax;

    /**
     * 活动标识2
     */
    private BigDecimal activityMin;

    /**
     * 是否为活动
     *
     * 备注：该字段用于给前端分辨是否为活动商品
     */
    private Integer isActivity;

    /**
     * 假用户列表
     */
    List<UsersFake> usersFakeList;

    /**
     * 过期时间
     */
    private Date overdueTime;

    /**
     * 活动类型（“”：普通商品，or：活动商品）
     */
    private String activityType;

    /**
     * 是否存在推荐图或视频 0否 1是
     */
    private Integer recImgFlag;

    private BigDecimal preferentialPrice;

    /**
     * 现价
     */
    private BigDecimal curPrice;

    /**
     * 多少人正在浏览
     */
    private Integer browseUserNum;

    /**
     * 是否领取补贴
     */
    private Integer isReceiveSubsidy;

    /**
     * 评论总数
     *
     */
    private Integer commentSum;

    /**
     * 领取总额
     */
    private BigDecimal totalReceive;

    /**
     * 商品视频
     */
    private String productVideo;

    /**
     * 商品视频主图
     */
    private String productVideoCover;

    /**
     * 店家id
     */
    private Integer bankerId;

    /**
     * 品牌id
     *
     * @mbg.generated
     */
    private Integer brandId;

    /**
     * 商品类型
     */
    private Integer productType;

    /**
     * 是否放假
     */
    private Integer isHoliday;

    public ProductExtResponse(){}

    public ProductExtResponse(Product product){
        BeanUtils.copyProperties(product,this);
        this.recImgFlag = 0;
        this.isActivity = IsActivityConstant.NO;
    }

}
